From: Ewan Mellor Date: Tue, 20 Mar 2007 14:04:27 +0000 (+0000) Subject: Fix exception handling when xmlrpclib.Fault is raised, in legacy mode. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15282^2~11 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=b5d7ad3a95dca1933380ee98ecff6eed1ec516fc;p=xen.git Fix exception handling when xmlrpclib.Fault is raised, in legacy mode. Signed-off-by: Ewan Mellor --- diff --git a/tools/python/xen/util/xmlrpclib2.py b/tools/python/xen/util/xmlrpclib2.py index bd3c2c98e6..3bdd717de2 100644 --- a/tools/python/xen/util/xmlrpclib2.py +++ b/tools/python/xen/util/xmlrpclib2.py @@ -241,10 +241,13 @@ class TCPXMLRPCServer(SocketServer.ThreadingMixIn, SimpleXMLRPCServer): "ErrorDescription": errdesc },), methodresponse = 1) else: - log.exception('Internal error handling %s', method) import xen.xend.XendClient - response = xmlrpclib.dumps( - xmlrpclib.Fault(xen.xend.XendClient.ERROR_INTERNAL, str(exn))) + if isinstance(exn, xmlrpclib.Fault): + response = xmlrpclib.dumps(exn) + else: + log.exception('Internal error handling %s', method) + response = xmlrpclib.dumps( + xmlrpclib.Fault(xen.xend.XendClient.ERROR_INTERNAL, str(exn))) except: log.exception('Internal error handling error')